草庐IT

html - setTimeout 或 setInterval 或 requestAnimationFrame

全部标签

javascript - casper.js 中的 setInterval 和 this.wait

我需要在每次迭代之间做一个3次2秒的循环。我尝试了这3个选项:选项1varcasper=require('casper').create({verbose:false,logLevel:'debug'});casper.start("http://google.com");casper.on('remote.message',function(msg){this.echo('remotemessagecaught:'+msg);})casper.thenEvaluate(function(){varx=0;varintervalID=setInterval(function(){con

javascript - 循环 html2canvas

我在尝试在for循环中实现html2canvas脚本时遇到了一些麻烦。我正在编写一个Javascript函数,它使用数据数组来修改一组元素的样式,将容器div捕获为Canvas,将其转换为图像,将其附加到文档主体,然后继续到数组的下一个索引。我遇到麻烦的部分是在循环的最后:html2canvas(document.getElementById("background"),{onrendered:function(canvas){varimgdata=canvas.toDataURL("image/png");varobj=document.createElement("img");ob

javascript - 为什么 ▶ 的 HTML 符号在 document.title 中不起作用

我尝试在设置document.title时使用►但它没有呈现播放符号,只是显示了那些相同的字符。我可以将▶直接粘贴到有效的代码中。我很好奇为什么第一种方法行不通。谢谢! 最佳答案 ►是HTML实体引用,但是document.title不包含HTML;它包含纯文本。例如,如果我设置document.title至Helloworld,它会按字面意思显示,而不是显示Helloworld。这同样适用于任何其他HTML片段,包括实体引用。明确地说,您可以在title中包含实体引用标签。解析页面时将解释它们。然而,document.

javascript - HTML 修改后无法恢复选择,即使是相同的 HTML

我正在尝试存储对contentEditable元素的选择并在以后恢复它。我想观察paste事件并像以前一样存储HTML,清除html,然后在选定位置手动插入粘贴的文本并进行一些更改。看看这个例子:jsfiddle.net/gEhjZ当您选择文本的一部分时,点击store,再次删除选择并点击restore,它按预期工作。但是当您第一次点击store时,然后通过点击overwritehtml将HTML替换为完全相同的HTML,然后尝试restore,没有任何反应。我认为使用.cloneRange()会有所作为,但事实并非如此。即使对象的深拷贝($.extend(true,{},oldRan

javascript - 使 HTML 输入字段仅显示为字段中的文本

我有一个HTML表单,其中包含许多input字段,这些字段使用jQuery在每个字段中动态添加内容。是否可以隐藏这些字段是输入字段的事实,只显示为字段中的内容?我不想隐藏整个字段和它的内容---只是隐藏它是一个输入类型字段这一事实。我试过jQuery的hide()和$('#foo').css('display','none'),但这隐藏了整个字段。想法是可以有大量字段,但我不希望用户看到所有输入文本字段。 最佳答案 从这样的事情开始:input{border:none;outline:none;background-color:tr

javascript - 多个 setTimeout 上的 clearTimeout

我有多个这样的setTimeout函数:functionbigtomedium(visiblespan){visiblespan.removeClass('big').addClass('medium');setTimeout(function(){mediumtosmall(visiblespan);},150);};functionmediumtosmall(visiblespan){visiblespan.removeClass('medium').addClass('small');setTimeout(function(){smalltomedium(visiblespan)

JavaScript setTimeout() 在重负载下变慢

我创建了一个使元素背景颜色变淡的脚本。我使用setTimeout()每5毫秒对颜色进行一次增量更改。如果我一次只淡化一个事物的背景颜色,脚本会很好用,但是如果我有,比如说,50个元素,我一次全部淡化,速度比5毫秒慢得多,因为所有同时运行的并发setTimeout()。例如,通常应该在1秒内执行的淡化,如果我一次淡化50个元素,则可能需要30秒。有什么办法可以克服这个问题吗?如果有人有想法,这里是脚本:functionfadeBackground(elementId,start,end,time){variterations=Math.round(time/5);varstep=newA

javascript - 将 HTML 表单字段转换为具有内部对象的 JSON 对象

给定以下HTML表单:Company:FirstName:LastName:在javascript中将此表单序列化为格式为JSON对象的最佳方法是什么:{Company:"ACME,INC.",Contact:{FirstName:"Daffy",LastName:"Duck"}}另请注意,“.”可能不止1个。登录字段名称。 最佳答案 我认为您要做的是:对于每个输入,首先在分隔符(“.”字符)处拆分名称。现在,您有一个名称数组。然后您可以遍历该数组,确保每次遇到新名称段时目标“程序集”对象(和子对象)都有容器。当数组中有1个元素时,

javascript - 让 html5 视频结束时转到第一帧?

我有一个简单的视频html5标签,绑定(bind)到一个“结束”事件:$('#video').show().trigger("play").bind('ended',function(){//code}因为我通过单击按钮“显示”和“隐藏”它,所以我想让它返回到最后一个函数的第一帧,所以它会在下次出现时从头开始(现在它从结尾开始,从最后一帧到第一帧时会导致令人讨厌的闪烁)。jQuery可以吗?提前致谢! 最佳答案 你可以使用类似的东西$('#video').show().trigger("play").bind('ended',fun

javascript - 自调用函数中递归函数的 setTimeout()

我想将我的代码作为一个self调用的匿名函数来分发,正如我看到的那样。此外,在我的代码中,我必须监视另一个库加载,以便我可以在它可用时使用它。(function(window,document,undefined){staffHappens();varinitMyLib=function(){if(typeof(myLib)=='undefined'){setTimeout("initMyLib()",50);}else{useMyLib();}}moreStaffHappens();initMyLib();//->initMyLibisundefined})(this,documen